#pragma once
#include <string>
#include <msclr/marshal_cppstd.h>
#include "LogHelper.h"
#include "MarshalHelper.h"
using namespace System;

    public ref class LogHelperWrapper
    {
    public:
        static void Debug(String^ msg)
        {
            std::string nativeMsg = MarshalHelper::ToNative(msg);
            LogHelper::GetInstance().Debug(nativeMsg);
        }

        static void Info(String^ msg)
        {
            std::string nativeMsg = MarshalHelper::ToNative(msg);
            LogHelper::GetInstance().Info(nativeMsg);
        }

        static void Warn(String^ msg)
        {
            std::string nativeMsg = MarshalHelper::ToNative(msg);
            LogHelper::GetInstance().Warn(nativeMsg);
        }

        static void Error(String^ msg)
        {
            std::string nativeMsg = MarshalHelper::ToNative(msg);
            LogHelper::GetInstance().Error(nativeMsg);
        }
    };
